Image-represenative signals can be digitized, encoded, and subsequently decoded in a manner which substantially reduces the number of bits necessary to represent a decoded reconstructed image without undue or noticeable degradation in the reconstructed image.
Image coding is an essential part of many applications such as digital television transmission, video conferencing, facsimile, image database, etc. The simplest technique for this purpose is pulse code modulation (PCM). A PCM system encodes individual pixels of an image in a memory-less way, i.e., it does not use any correlation information between pixels. An improvement over the PCM technique can be made by taking advantage of the correlations between pixels. Predictive coding is one of the techniques based on this principle. It quantizes the difference between a pixel and a prediction of the pixel from its neighbor pixels. Transform coding is another type of technique based on the same principle. In transform coding, a block of data samples is transformed from the image domain to the transform domain using an orthogonal transform, such as the discrete cosine transform (DCT). Two properties of the transform domain coefficients are used. One is that the transform domain coefficients have fewer correlations than the original data samples so that they can be coded individually. The other property is that the energy is packed into a few lower order coefficients so that many higher order coefficients can be either coded with very few bits or discarded.
All of these techniques perform coding on scalars, either in the image domain or in the transform domain. As Shannon's rate-distortion theory indicates, better performance can be achieved by coding vectors instead of scalars, many vector quantization (VQ) techniques have been developed. The memoryless VQ technique is a vector generalization of PCM. It divides an image into blocks, each block is considered as a vector, and each vector is coded in a memoryless way without considering the correlations between the vectors. Similar to the scalar quantization, an improvement over the memoryless VQ can be made by taking into account the correlations between vectors. Based on this principle, predictive VQ has been studied.
In general, a rationale for using a transform such as DCT includes the objective of generating transform coefficients having relatively little correlation with each other so that scalar quantizing efficiency is maximized. It has been recognized that vector quantization can be used on DCT coefficients, but since vector quantization performance is enhanced by the presence of correlation among the components being quantized, such enhancement has proven to be limited when vector quantizing DCT coefficients (because of the inherent low correlation between DCT coefficients).
It is an object of the present invention to overcome this limitation of prior art approaches and to provide an improved encoding/decoding technique and apparatus that can take full advantage of the attributes of both DCT processing and vector quantization.